不管是spring.factories还是最新的imports文件,这个神器帮你全自动生成!
昨晚我们讲了Spring Boot 2.7开始不再推荐使用spring.factories了,今天早上公众号(程序猿DD)上也推了,然后收到了不少反馈。其中有个网友说:要维护两个文件,太麻烦了。
作为一名优秀的程序员,当觉得麻烦的时候,第一反应就是要想办法偷懒!
所以,今天就给大家讲讲怎么样轻松的维护这两个文件!
视频版教程如下:
开源项目:mica-auto
为了解决维护麻烦的问题,这里要给大家推荐一个开源项目:mica-auto。不要看Star不多,DD用下来感觉还是非常好的。
GitHub地址:https://github.com/lets-mica/mica-auto
该项目的实现原理与Lombok类似,利用Java 6就开始支持的Annotation Processor,在编译期扫描注解和处理注解。这里mica-auto的主要解决问题是为Spring Boot自动生成spring.factories
、spring-devtools.properties
配置。
目前最新的2.3版本也支持Spring Boot 2.7之后推荐使用的org.springframework.boot.autoconfigure.AutoConfiguration.imports
配置文件的自动生成。
使用mica-auto
下面以我自己的项目为例,看看怎么一步步整合:
第1步:pom.xml中加入依赖(注意,如果有lombok的话,要放到lombok后面)
<dependency>
<groupId>net.dreamlu</groupId>
<artifactId>mica-auto</artifactId>
<version>2.3.0</version>
<scope>provided</scope>
</dependency>
第2步:替换一些老的自动化配置注解,比如,我这里用@AutoConfiguration
替换了老的@Configuration
,这样才能正常的生成出org.springframework.boot.autoconfigure.AutoConfiguration.imports
配置,不然用老的配置注解的话,只会自动生成spring.factories
@AutoConfiguration
@EnableConfigurationProperties(SwaggerProperties.class)
@ConditionalOnProperty(value = "springfox.documentation.enabled", havingValue = "true", matchIfMissing = true)
@Import({SwaggerUiConfiguration.class, SwaggerAuthorizationConfiguration.class, DocketConfiguration.class})
public class SwaggerAutoConfiguration {
@Bean
public DocketBeanFactoryPostProcessor docketBeanFactoryPostProcessor() {
return new DocketBeanFactoryPostProcessor();
}
}
完成上面配置之后,重新编译马上就可以看到文件生成成功了:
我们创建了一个高质量的技术交流群,与优秀的人在一起,自己也会优秀起来,赶紧点击加群,享受一起成长的快乐。另外,如果你最近想跳槽的话,年前我花了2周时间收集了一波大厂面经,节后准备跳槽的可以点击这里领取!
推荐阅读
你好,我是程序猿DD,10年开发老司机、阿里云MVP、腾讯云TVP、出过书创过业、国企4年互联网6年。从普通开发到架构师、再到合伙人。一路过来,给我最深的感受就是一定要不断学习并关注前沿。只要你能坚持下来,多思考、少抱怨、勤动手,就很容易实现弯道超车!所以,不要问我现在干什么是否来得及。如果你看好一个事情,一定是坚持了才能看到希望,而不是看到希望才去坚持。相信我,只要坚持下来,你一定比现在更好!如果你还没什么方向,可以先关注我,这里会经常分享一些前沿资讯,帮你积累弯道超车的资本。